<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>PxController Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="PhysXLogoBlack.png"/></td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('classPxController.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classPxController-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">PxController Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group__character.html">Character</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Base class for character controllers.  
 <a href="classPxController.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="PxController_8h_source.html">PxController.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for PxController:</div>
<div class="dyncontent">
<div class="center"><img src="classPxController__inherit__graph.png" border="0" usemap="#PxController_inherit__map" alt="Inheritance graph"/></div>
<map name="PxController_inherit__map" id="PxController_inherit__map">
<area shape="rect" id="node2" href="classPxBoxController.html" title="Box character controller. " alt="" coords="5,80,121,107"/>
<area shape="rect" id="node3" href="classPxCapsuleController.html" title="A capsule character controller. " alt="" coords="145,80,285,107"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad98589ad22dcdcedaf1c5fa9f0f40b53"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structPxControllerShapeType.html#a46022b44cb41038a1b05bcaa6e043d03">PxControllerShapeType::Enum</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#ad98589ad22dcdcedaf1c5fa9f0f40b53">getType</a> () const =0</td></tr>
<tr class="memdesc:ad98589ad22dcdcedaf1c5fa9f0f40b53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the type of controller.  <a href="#ad98589ad22dcdcedaf1c5fa9f0f40b53">More...</a><br /></td></tr>
<tr class="separator:ad98589ad22dcdcedaf1c5fa9f0f40b53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ed314c5bf5dd95f9f340de15efb5776"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a0ed314c5bf5dd95f9f340de15efb5776">release</a> ()=0</td></tr>
<tr class="memdesc:a0ed314c5bf5dd95f9f340de15efb5776"><td class="mdescLeft">&#160;</td><td class="mdescRight">Releases the controller.  <a href="#a0ed314c5bf5dd95f9f340de15efb5776">More...</a><br /></td></tr>
<tr class="separator:a0ed314c5bf5dd95f9f340de15efb5776"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cbd9da6b634f45585df92bb71e37782"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="group__character.html#ga3cb7e2aaf5144c3ed9bbf504c2fd66db">PxControllerCollisionFlags</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a1cbd9da6b634f45585df92bb71e37782">move</a> (const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;disp, PxF32 minDist, PxF32 elapsedTime, const <a class="el" href="classPxControllerFilters.html">PxControllerFilters</a> &amp;filters, const <a class="el" href="classPxObstacleContext.html">PxObstacleContext</a> *obstacles=NULL)=0</td></tr>
<tr class="memdesc:a1cbd9da6b634f45585df92bb71e37782"><td class="mdescLeft">&#160;</td><td class="mdescRight">Moves the character using a "collide-and-slide" algorithm.  <a href="#a1cbd9da6b634f45585df92bb71e37782">More...</a><br /></td></tr>
<tr class="separator:a1cbd9da6b634f45585df92bb71e37782"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2687b4fabb77f2998ce31bffccc74a78"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a2687b4fabb77f2998ce31bffccc74a78">setPosition</a> (const <a class="el" href="structPxExtendedVec3.html">PxExtendedVec3</a> &amp;position)=0</td></tr>
<tr class="memdesc:a2687b4fabb77f2998ce31bffccc74a78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets controller's position.  <a href="#a2687b4fabb77f2998ce31bffccc74a78">More...</a><br /></td></tr>
<tr class="separator:a2687b4fabb77f2998ce31bffccc74a78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca54bef0663caf75613a5542e54d318e"><td class="memItemLeft" align="right" valign="top">virtual const <a class="el" href="structPxExtendedVec3.html">PxExtendedVec3</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#aca54bef0663caf75613a5542e54d318e">getPosition</a> () const =0</td></tr>
<tr class="memdesc:aca54bef0663caf75613a5542e54d318e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the raw position of the controller.  <a href="#aca54bef0663caf75613a5542e54d318e">More...</a><br /></td></tr>
<tr class="separator:aca54bef0663caf75613a5542e54d318e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab09889972859bf03168d1d48434094ff"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#ab09889972859bf03168d1d48434094ff">setFootPosition</a> (const <a class="el" href="structPxExtendedVec3.html">PxExtendedVec3</a> &amp;position)=0</td></tr>
<tr class="memdesc:ab09889972859bf03168d1d48434094ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set controller's foot position.  <a href="#ab09889972859bf03168d1d48434094ff">More...</a><br /></td></tr>
<tr class="separator:ab09889972859bf03168d1d48434094ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a401af38fab565432d05b87112b26b816"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structPxExtendedVec3.html">PxExtendedVec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a401af38fab565432d05b87112b26b816">getFootPosition</a> () const =0</td></tr>
<tr class="memdesc:a401af38fab565432d05b87112b26b816"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the "foot" position of the controller, i.e. the position of the bottom of the CCT's shape.  <a href="#a401af38fab565432d05b87112b26b816">More...</a><br /></td></tr>
<tr class="separator:a401af38fab565432d05b87112b26b816"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3754e17468322484fa5fd7034a208653"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classPxRigidDynamic.html">PxRigidDynamic</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a3754e17468322484fa5fd7034a208653">getActor</a> () const =0</td></tr>
<tr class="memdesc:a3754e17468322484fa5fd7034a208653"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the rigid body actor associated with this controller (see PhysX documentation). The behavior upon manually altering this actor is undefined, you should primarily use it for reading const properties.  <a href="#a3754e17468322484fa5fd7034a208653">More...</a><br /></td></tr>
<tr class="separator:a3754e17468322484fa5fd7034a208653"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6cad9ee5c32ccbf80ec47465a07dcdc3"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a6cad9ee5c32ccbf80ec47465a07dcdc3">setStepOffset</a> (const PxF32 offset)=0</td></tr>
<tr class="memdesc:a6cad9ee5c32ccbf80ec47465a07dcdc3"><td class="mdescLeft">&#160;</td><td class="mdescRight">The step height.  <a href="#a6cad9ee5c32ccbf80ec47465a07dcdc3">More...</a><br /></td></tr>
<tr class="separator:a6cad9ee5c32ccbf80ec47465a07dcdc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a46763eb7541abe5d1c73eacca4639c"><td class="memItemLeft" align="right" valign="top">virtual PxF32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a2a46763eb7541abe5d1c73eacca4639c">getStepOffset</a> () const =0</td></tr>
<tr class="memdesc:a2a46763eb7541abe5d1c73eacca4639c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the step height.  <a href="#a2a46763eb7541abe5d1c73eacca4639c">More...</a><br /></td></tr>
<tr class="separator:a2a46763eb7541abe5d1c73eacca4639c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8f30123d5e7d45c6fdb1992cf8c748ef"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a8f30123d5e7d45c6fdb1992cf8c748ef">setNonWalkableMode</a> (<a class="el" href="structPxControllerNonWalkableMode.html#a4dd560c274d7c9076469ae267ffa87f2">PxControllerNonWalkableMode::Enum</a> flag)=0</td></tr>
<tr class="memdesc:a8f30123d5e7d45c6fdb1992cf8c748ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the non-walkable mode for the CCT.  <a href="#a8f30123d5e7d45c6fdb1992cf8c748ef">More...</a><br /></td></tr>
<tr class="separator:a8f30123d5e7d45c6fdb1992cf8c748ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad16b10c1e20376c23ce81af23b5ef880"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="structPxControllerNonWalkableMode.html#a4dd560c274d7c9076469ae267ffa87f2">PxControllerNonWalkableMode::Enum</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#ad16b10c1e20376c23ce81af23b5ef880">getNonWalkableMode</a> () const =0</td></tr>
<tr class="memdesc:ad16b10c1e20376c23ce81af23b5ef880"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieves the non-walkable mode for the CCT.  <a href="#ad16b10c1e20376c23ce81af23b5ef880">More...</a><br /></td></tr>
<tr class="separator:ad16b10c1e20376c23ce81af23b5ef880"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a836a426813b11552b4dfb481e0ba576f"><td class="memItemLeft" align="right" valign="top">virtual PxF32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a836a426813b11552b4dfb481e0ba576f">getContactOffset</a> () const =0</td></tr>
<tr class="memdesc:a836a426813b11552b4dfb481e0ba576f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the contact offset.  <a href="#a836a426813b11552b4dfb481e0ba576f">More...</a><br /></td></tr>
<tr class="separator:a836a426813b11552b4dfb481e0ba576f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bf15ba0b66b3f271fdb2f2c6cb8c68b"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a6bf15ba0b66b3f271fdb2f2c6cb8c68b">setContactOffset</a> (PxF32 offset)=0</td></tr>
<tr class="memdesc:a6bf15ba0b66b3f271fdb2f2c6cb8c68b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the contact offset.  <a href="#a6bf15ba0b66b3f271fdb2f2c6cb8c68b">More...</a><br /></td></tr>
<tr class="separator:a6bf15ba0b66b3f271fdb2f2c6cb8c68b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad8fe2f181b59bcbee150f786bb41adfe"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classPxVec3.html">PxVec3</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#ad8fe2f181b59bcbee150f786bb41adfe">getUpDirection</a> () const =0</td></tr>
<tr class="memdesc:ad8fe2f181b59bcbee150f786bb41adfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the 'up' direction.  <a href="#ad8fe2f181b59bcbee150f786bb41adfe">More...</a><br /></td></tr>
<tr class="separator:ad8fe2f181b59bcbee150f786bb41adfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3393ba5043c3534712d8f362a9872cfc"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a3393ba5043c3534712d8f362a9872cfc">setUpDirection</a> (const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;up)=0</td></tr>
<tr class="memdesc:a3393ba5043c3534712d8f362a9872cfc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the 'up' direction.  <a href="#a3393ba5043c3534712d8f362a9872cfc">More...</a><br /></td></tr>
<tr class="separator:a3393ba5043c3534712d8f362a9872cfc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7e03e7863dd2036f673b084f3ce94629"><td class="memItemLeft" align="right" valign="top">virtual PxF32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a7e03e7863dd2036f673b084f3ce94629">getSlopeLimit</a> () const =0</td></tr>
<tr class="memdesc:a7e03e7863dd2036f673b084f3ce94629"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the slope limit.  <a href="#a7e03e7863dd2036f673b084f3ce94629">More...</a><br /></td></tr>
<tr class="separator:a7e03e7863dd2036f673b084f3ce94629"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e3a554fe03319301360df65122f22c8"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a5e3a554fe03319301360df65122f22c8">setSlopeLimit</a> (PxF32 slopeLimit)=0</td></tr>
<tr class="memdesc:a5e3a554fe03319301360df65122f22c8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the slope limit.  <a href="#a5e3a554fe03319301360df65122f22c8">More...</a><br /></td></tr>
<tr class="separator:a5e3a554fe03319301360df65122f22c8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4d65669022c2f65926fde8112e72c500"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a4d65669022c2f65926fde8112e72c500">invalidateCache</a> ()=0</td></tr>
<tr class="memdesc:a4d65669022c2f65926fde8112e72c500"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flushes internal geometry cache.  <a href="#a4d65669022c2f65926fde8112e72c500">More...</a><br /></td></tr>
<tr class="separator:a4d65669022c2f65926fde8112e72c500"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a7134907855142bcae10e462958a61e"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classPxScene.html">PxScene</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a3a7134907855142bcae10e462958a61e">getScene</a> ()=0</td></tr>
<tr class="memdesc:a3a7134907855142bcae10e462958a61e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Retrieve the scene associated with the controller.  <a href="#a3a7134907855142bcae10e462958a61e">More...</a><br /></td></tr>
<tr class="separator:a3a7134907855142bcae10e462958a61e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74cdda2b323e76b66ffc6a5c02376e92"><td class="memItemLeft" align="right" valign="top">virtual void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a74cdda2b323e76b66ffc6a5c02376e92">getUserData</a> () const =0</td></tr>
<tr class="memdesc:a74cdda2b323e76b66ffc6a5c02376e92"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the user data associated with this controller.  <a href="#a74cdda2b323e76b66ffc6a5c02376e92">More...</a><br /></td></tr>
<tr class="separator:a74cdda2b323e76b66ffc6a5c02376e92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b6c1841bafa53877baa3dca8543c9ca"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a2b6c1841bafa53877baa3dca8543c9ca">setUserData</a> (void *userData)=0</td></tr>
<tr class="memdesc:a2b6c1841bafa53877baa3dca8543c9ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the user data associated with this controller.  <a href="#a2b6c1841bafa53877baa3dca8543c9ca">More...</a><br /></td></tr>
<tr class="separator:a2b6c1841bafa53877baa3dca8543c9ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad694218683ad584f6120bc001c0d1616"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#ad694218683ad584f6120bc001c0d1616">getState</a> (<a class="el" href="structPxControllerState.html">PxControllerState</a> &amp;state) const =0</td></tr>
<tr class="memdesc:ad694218683ad584f6120bc001c0d1616"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns information about the controller's internal state.  <a href="#ad694218683ad584f6120bc001c0d1616">More...</a><br /></td></tr>
<tr class="separator:ad694218683ad584f6120bc001c0d1616"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae98a10df99157bdaed67a05795fb3599"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#ae98a10df99157bdaed67a05795fb3599">getStats</a> (<a class="el" href="structPxControllerStats.html">PxControllerStats</a> &amp;stats) const =0</td></tr>
<tr class="memdesc:ae98a10df99157bdaed67a05795fb3599"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the controller's internal statistics.  <a href="#ae98a10df99157bdaed67a05795fb3599">More...</a><br /></td></tr>
<tr class="separator:ae98a10df99157bdaed67a05795fb3599"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b982db163cd5189357eee4c26430cf6"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a4b982db163cd5189357eee4c26430cf6">resize</a> (PxReal height)=0</td></tr>
<tr class="memdesc:a4b982db163cd5189357eee4c26430cf6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resizes the controller.  <a href="#a4b982db163cd5189357eee4c26430cf6">More...</a><br /></td></tr>
<tr class="separator:a4b982db163cd5189357eee4c26430cf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a4694a2b9523adf437e190e0d15257ef1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#a4694a2b9523adf437e190e0d15257ef1">PxController</a> ()</td></tr>
<tr class="separator:a4694a2b9523adf437e190e0d15257ef1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab4f1f687e01ff03d36cf295da28ee381"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classPxController.html#ab4f1f687e01ff03d36cf295da28ee381">~PxController</a> ()</td></tr>
<tr class="separator:ab4f1f687e01ff03d36cf295da28ee381"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Base class for character controllers. </p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxCapsuleController.html" title="A capsule character controller. ">PxCapsuleController</a> <a class="el" href="classPxBoxController.html" title="Box character controller. ">PxBoxController</a> </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a4694a2b9523adf437e190e0d15257ef1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4694a2b9523adf437e190e0d15257ef1">&#9670;&nbsp;</a></span>PxController()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__foundation.html#gacb03347b642a2a5bdea1f9b305a6fbec">PX_INLINE</a> PxController::PxController </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<a id="ab4f1f687e01ff03d36cf295da28ee381"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab4f1f687e01ff03d36cf295da28ee381">&#9670;&nbsp;</a></span>~PxController()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual PxController::~PxController </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a3754e17468322484fa5fd7034a208653"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3754e17468322484fa5fd7034a208653">&#9670;&nbsp;</a></span>getActor()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classPxRigidDynamic.html">PxRigidDynamic</a>* PxController::getActor </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the rigid body actor associated with this controller (see PhysX documentation). The behavior upon manually altering this actor is undefined, you should primarily use it for reading const properties. </p>
<dl class="section return"><dt>Returns</dt><dd>the actor associated with the controller. </dd></dl>

</div>
</div>
<a id="a836a426813b11552b4dfb481e0ba576f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a836a426813b11552b4dfb481e0ba576f">&#9670;&nbsp;</a></span>getContactOffset()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual PxF32 PxController::getContactOffset </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the contact offset. </p>
<dl class="section return"><dt>Returns</dt><dd>The contact offset for the controller.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxControllerDesc.html#a811b0354ee3c9c037dca94f7cae4205e" title="The contact offset used by the controller. ">PxControllerDesc.contactOffset</a> </dd></dl>

</div>
</div>
<a id="a401af38fab565432d05b87112b26b816"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a401af38fab565432d05b87112b26b816">&#9670;&nbsp;</a></span>getFootPosition()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structPxExtendedVec3.html">PxExtendedVec3</a> PxController::getFootPosition </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the "foot" position of the controller, i.e. the position of the bottom of the CCT's shape. </p>
<dl class="section note"><dt>Note</dt><dd>The foot position takes the contact offset into account</dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The controller's foot position</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxControllerDesc.html#a32b1a3f9f58902b31058b9c076fd8ae3" title="The position of the character. ">PxControllerDesc.position</a> <a class="el" href="classPxController.html#a2687b4fabb77f2998ce31bffccc74a78" title="Sets controller&#39;s position. ">setPosition()</a> <a class="el" href="classPxController.html#aca54bef0663caf75613a5542e54d318e" title="Retrieve the raw position of the controller. ">getPosition()</a> <a class="el" href="classPxController.html#ab09889972859bf03168d1d48434094ff" title="Set controller&#39;s foot position. ">setFootPosition()</a> <a class="el" href="classPxController.html#a1cbd9da6b634f45585df92bb71e37782" title="Moves the character using a &quot;collide-and-slide&quot; algorithm. ">move()</a> </dd></dl>

</div>
</div>
<a id="ad16b10c1e20376c23ce81af23b5ef880"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad16b10c1e20376c23ce81af23b5ef880">&#9670;&nbsp;</a></span>getNonWalkableMode()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structPxControllerNonWalkableMode.html#a4dd560c274d7c9076469ae267ffa87f2">PxControllerNonWalkableMode::Enum</a> PxController::getNonWalkableMode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieves the non-walkable mode for the CCT. </p>
<dl class="section return"><dt>Returns</dt><dd>The current non-walkable mode.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structPxControllerNonWalkableMode.html" title="specifies how a CCT interacts with non-walkable parts. ">PxControllerNonWalkableMode</a> </dd></dl>

</div>
</div>
<a id="aca54bef0663caf75613a5542e54d318e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca54bef0663caf75613a5542e54d318e">&#9670;&nbsp;</a></span>getPosition()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual const <a class="el" href="structPxExtendedVec3.html">PxExtendedVec3</a>&amp; PxController::getPosition </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the raw position of the controller. </p>
<p>The position retrieved by this function is the center of the collision shape. To retrieve the bottom position of the shape, a.k.a. the foot position, use the <a class="el" href="classPxController.html#a401af38fab565432d05b87112b26b816" title="Retrieve the &quot;foot&quot; position of the controller, i.e. the position of the bottom of the CCT&#39;s shape...">getFootPosition()</a> function.</p>
<p>The position is updated by calls to <a class="el" href="classPxController.html#a1cbd9da6b634f45585df92bb71e37782" title="Moves the character using a &quot;collide-and-slide&quot; algorithm. ">move()</a>. Calling this method without calling <a class="el" href="classPxController.html#a1cbd9da6b634f45585df92bb71e37782" title="Moves the character using a &quot;collide-and-slide&quot; algorithm. ">move()</a> will return the last position or the initial position of the controller.</p>
<dl class="section return"><dt>Returns</dt><dd>The controller's center position</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxControllerDesc.html#a32b1a3f9f58902b31058b9c076fd8ae3" title="The position of the character. ">PxControllerDesc.position</a> <a class="el" href="classPxController.html#a2687b4fabb77f2998ce31bffccc74a78" title="Sets controller&#39;s position. ">setPosition()</a> <a class="el" href="classPxController.html#a401af38fab565432d05b87112b26b816" title="Retrieve the &quot;foot&quot; position of the controller, i.e. the position of the bottom of the CCT&#39;s shape...">getFootPosition()</a> <a class="el" href="classPxController.html#ab09889972859bf03168d1d48434094ff" title="Set controller&#39;s foot position. ">setFootPosition()</a> <a class="el" href="classPxController.html#a1cbd9da6b634f45585df92bb71e37782" title="Moves the character using a &quot;collide-and-slide&quot; algorithm. ">move()</a> </dd></dl>

</div>
</div>
<a id="a3a7134907855142bcae10e462958a61e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3a7134907855142bcae10e462958a61e">&#9670;&nbsp;</a></span>getScene()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classPxScene.html">PxScene</a>* PxController::getScene </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the scene associated with the controller. </p>
<dl class="section return"><dt>Returns</dt><dd>The physics scene </dd></dl>

</div>
</div>
<a id="a7e03e7863dd2036f673b084f3ce94629"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7e03e7863dd2036f673b084f3ce94629">&#9670;&nbsp;</a></span>getSlopeLimit()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual PxF32 PxController::getSlopeLimit </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the slope limit. </p>
<dl class="section return"><dt>Returns</dt><dd>The slope limit for the controller.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxControllerDesc.html#aadb1325a040c61b6cd29cfa94d24c180" title="The maximum slope which the character can walk up. ">PxControllerDesc.slopeLimit</a> </dd></dl>

</div>
</div>
<a id="ad694218683ad584f6120bc001c0d1616"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad694218683ad584f6120bc001c0d1616">&#9670;&nbsp;</a></span>getState()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void PxController::getState </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structPxControllerState.html">PxControllerState</a> &amp;&#160;</td>
          <td class="paramname"><em>state</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns information about the controller's internal state. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">state</td><td>The controller's internal state</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structPxControllerState.html" title="Describes a controller&#39;s internal state. ">PxControllerState</a> </dd></dl>

</div>
</div>
<a id="ae98a10df99157bdaed67a05795fb3599"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae98a10df99157bdaed67a05795fb3599">&#9670;&nbsp;</a></span>getStats()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void PxController::getStats </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structPxControllerStats.html">PxControllerStats</a> &amp;&#160;</td>
          <td class="paramname"><em>stats</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the controller's internal statistics. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">stats</td><td>The controller's internal statistics</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structPxControllerStats.html" title="Describes a controller&#39;s internal statistics. ">PxControllerStats</a> </dd></dl>

</div>
</div>
<a id="a2a46763eb7541abe5d1c73eacca4639c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a46763eb7541abe5d1c73eacca4639c">&#9670;&nbsp;</a></span>getStepOffset()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual PxF32 PxController::getStepOffset </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the step height. </p>
<dl class="section return"><dt>Returns</dt><dd>The step offset for the controller.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxController.html#a6cad9ee5c32ccbf80ec47465a07dcdc3" title="The step height. ">setStepOffset()</a> </dd></dl>

</div>
</div>
<a id="ad98589ad22dcdcedaf1c5fa9f0f40b53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad98589ad22dcdcedaf1c5fa9f0f40b53">&#9670;&nbsp;</a></span>getType()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="structPxControllerShapeType.html#a46022b44cb41038a1b05bcaa6e043d03">PxControllerShapeType::Enum</a> PxController::getType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Return the type of controller. </p>
<dl class="section see"><dt>See also</dt><dd>PxControllerType </dd></dl>

</div>
</div>
<a id="ad8fe2f181b59bcbee150f786bb41adfe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8fe2f181b59bcbee150f786bb41adfe">&#9670;&nbsp;</a></span>getUpDirection()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classPxVec3.html">PxVec3</a> PxController::getUpDirection </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Retrieve the 'up' direction. </p>
<dl class="section return"><dt>Returns</dt><dd>The up direction for the controller.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxControllerDesc.html#af1a0990b26249f3114c41e20a9cb3087" title="Specifies the &#39;up&#39; direction. ">PxControllerDesc.upDirection</a> </dd></dl>

</div>
</div>
<a id="a74cdda2b323e76b66ffc6a5c02376e92"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74cdda2b323e76b66ffc6a5c02376e92">&#9670;&nbsp;</a></span>getUserData()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void* PxController::getUserData </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Returns the user data associated with this controller. </p>
<dl class="section return"><dt>Returns</dt><dd>The user pointer associated with the controller.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxControllerDesc.html#ab1144ac32fd0a4173e8d3136ae3e604f" title="User specified data associated with the controller. ">PxControllerDesc.userData</a> </dd></dl>

</div>
</div>
<a id="a4d65669022c2f65926fde8112e72c500"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4d65669022c2f65926fde8112e72c500">&#9670;&nbsp;</a></span>invalidateCache()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void PxController::invalidateCache </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Flushes internal geometry cache. </p>
<p>The character controller uses caching in order to speed up collision testing. The cache is automatically flushed when a change to static objects is detected in the scene. For example when a static shape is added, updated, or removed from the scene, the cache is automatically invalidated.</p>
<p>However there may be situations that cannot be automatically detected, and those require manual invalidation of the cache. Currently the user must call this when the filtering behavior changes (the <a class="el" href="classPxControllerFilters.html" title="Filtering data for &quot;move&quot; call. ">PxControllerFilters</a> parameter of the <a class="el" href="classPxController.html#a1cbd9da6b634f45585df92bb71e37782" title="Moves the character using a &quot;collide-and-slide&quot; algorithm. ">PxController::move</a> call). While the controller in principle could detect a change in these parameters, it cannot detect a change in the behavior of the filtering function.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxController.html#a1cbd9da6b634f45585df92bb71e37782" title="Moves the character using a &quot;collide-and-slide&quot; algorithm. ">PxController.move</a> </dd></dl>

</div>
</div>
<a id="a1cbd9da6b634f45585df92bb71e37782"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1cbd9da6b634f45585df92bb71e37782">&#9670;&nbsp;</a></span>move()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="group__character.html#ga3cb7e2aaf5144c3ed9bbf504c2fd66db">PxControllerCollisionFlags</a> PxController::move </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&#160;</td>
          <td class="paramname"><em>disp</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">PxF32&#160;</td>
          <td class="paramname"><em>minDist</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">PxF32&#160;</td>
          <td class="paramname"><em>elapsedTime</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classPxControllerFilters.html">PxControllerFilters</a> &amp;&#160;</td>
          <td class="paramname"><em>filters</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classPxObstacleContext.html">PxObstacleContext</a> *&#160;</td>
          <td class="paramname"><em>obstacles</em> = <code>NULL</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Moves the character using a "collide-and-slide" algorithm. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">disp</td><td>Displacement vector </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">minDist</td><td>The minimum travelled distance to consider. If travelled distance is smaller, the character doesn't move. This is used to stop the recursive motion algorithm when remaining distance to travel is small. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">elapsedTime</td><td>Time elapsed since last call </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">filters</td><td>User-defined filters for this move </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">obstacles</td><td>Potential additional obstacles the CCT should collide with. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Collision flags, collection of <a class="el" href="group__character.html#ga3cb7e2aaf5144c3ed9bbf504c2fd66db" title="Bitfield that contains a set of raised flags defined in PxControllerCollisionFlag. ">PxControllerCollisionFlags</a> </dd></dl>

</div>
</div>
<a id="a0ed314c5bf5dd95f9f340de15efb5776"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ed314c5bf5dd95f9f340de15efb5776">&#9670;&nbsp;</a></span>release()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void PxController::release </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Releases the controller. </p>

</div>
</div>
<a id="a4b982db163cd5189357eee4c26430cf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b982db163cd5189357eee4c26430cf6">&#9670;&nbsp;</a></span>resize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void PxController::resize </td>
          <td>(</td>
          <td class="paramtype">PxReal&#160;</td>
          <td class="paramname"><em>height</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Resizes the controller. </p>
<p>This function attempts to resize the controller to a given size, while making sure the bottom position of the controller remains constant. In other words the function modifies both the height and the (center) position of the controller. This is a helper function that can be used to implement a 'crouch' functionality for example.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">height</td><td>Desired controller's height </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a6bf15ba0b66b3f271fdb2f2c6cb8c68b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6bf15ba0b66b3f271fdb2f2c6cb8c68b">&#9670;&nbsp;</a></span>setContactOffset()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void PxController::setContactOffset </td>
          <td>(</td>
          <td class="paramtype">PxF32&#160;</td>
          <td class="paramname"><em>offset</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the contact offset. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The contact offset for the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxControllerDesc.html#a811b0354ee3c9c037dca94f7cae4205e" title="The contact offset used by the controller. ">PxControllerDesc.contactOffset</a> </dd></dl>

</div>
</div>
<a id="ab09889972859bf03168d1d48434094ff"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab09889972859bf03168d1d48434094ff">&#9670;&nbsp;</a></span>setFootPosition()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool PxController::setFootPosition </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structPxExtendedVec3.html">PxExtendedVec3</a> &amp;&#160;</td>
          <td class="paramname"><em>position</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set controller's foot position. </p>
<p>The position controlled by this function is the bottom of the collision shape, a.k.a. the foot position.</p>
<dl class="section note"><dt>Note</dt><dd>The foot position takes the contact offset into account</dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>This is a 'teleport' function, it doesn't check for collisions.</dd></dl>
<p>To move the character under normal conditions use the <a class="el" href="classPxController.html#a1cbd9da6b634f45585df92bb71e37782" title="Moves the character using a &quot;collide-and-slide&quot; algorithm. ">move()</a> function.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">position</td><td>The new (bottom) positon for the controller. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Currently always returns true.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxControllerDesc.html#a32b1a3f9f58902b31058b9c076fd8ae3" title="The position of the character. ">PxControllerDesc.position</a> <a class="el" href="classPxController.html#a2687b4fabb77f2998ce31bffccc74a78" title="Sets controller&#39;s position. ">setPosition()</a> <a class="el" href="classPxController.html#aca54bef0663caf75613a5542e54d318e" title="Retrieve the raw position of the controller. ">getPosition()</a> <a class="el" href="classPxController.html#a401af38fab565432d05b87112b26b816" title="Retrieve the &quot;foot&quot; position of the controller, i.e. the position of the bottom of the CCT&#39;s shape...">getFootPosition()</a> <a class="el" href="classPxController.html#a1cbd9da6b634f45585df92bb71e37782" title="Moves the character using a &quot;collide-and-slide&quot; algorithm. ">move()</a> </dd></dl>

</div>
</div>
<a id="a8f30123d5e7d45c6fdb1992cf8c748ef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8f30123d5e7d45c6fdb1992cf8c748ef">&#9670;&nbsp;</a></span>setNonWalkableMode()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void PxController::setNonWalkableMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structPxControllerNonWalkableMode.html#a4dd560c274d7c9076469ae267ffa87f2">PxControllerNonWalkableMode::Enum</a>&#160;</td>
          <td class="paramname"><em>flag</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the non-walkable mode for the CCT. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">flag</td><td>The new value of the non-walkable mode.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structPxControllerNonWalkableMode.html" title="specifies how a CCT interacts with non-walkable parts. ">PxControllerNonWalkableMode</a> </dd></dl>

</div>
</div>
<a id="a2687b4fabb77f2998ce31bffccc74a78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2687b4fabb77f2998ce31bffccc74a78">&#9670;&nbsp;</a></span>setPosition()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool PxController::setPosition </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structPxExtendedVec3.html">PxExtendedVec3</a> &amp;&#160;</td>
          <td class="paramname"><em>position</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets controller's position. </p>
<p>The position controlled by this function is the center of the collision shape.</p>
<dl class="section warning"><dt>Warning</dt><dd>This is a 'teleport' function, it doesn't check for collisions. </dd>
<dd>
The character's position must be such that it does not overlap the static geometry.</dd></dl>
<p>To move the character under normal conditions use the <a class="el" href="classPxController.html#a1cbd9da6b634f45585df92bb71e37782" title="Moves the character using a &quot;collide-and-slide&quot; algorithm. ">move()</a> function.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">position</td><td>The new (center) positon for the controller. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Currently always returns true.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxControllerDesc.html#a32b1a3f9f58902b31058b9c076fd8ae3" title="The position of the character. ">PxControllerDesc.position</a> <a class="el" href="classPxController.html#aca54bef0663caf75613a5542e54d318e" title="Retrieve the raw position of the controller. ">getPosition()</a> <a class="el" href="classPxController.html#a401af38fab565432d05b87112b26b816" title="Retrieve the &quot;foot&quot; position of the controller, i.e. the position of the bottom of the CCT&#39;s shape...">getFootPosition()</a> <a class="el" href="classPxController.html#ab09889972859bf03168d1d48434094ff" title="Set controller&#39;s foot position. ">setFootPosition()</a> <a class="el" href="classPxController.html#a1cbd9da6b634f45585df92bb71e37782" title="Moves the character using a &quot;collide-and-slide&quot; algorithm. ">move()</a> </dd></dl>

</div>
</div>
<a id="a5e3a554fe03319301360df65122f22c8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e3a554fe03319301360df65122f22c8">&#9670;&nbsp;</a></span>setSlopeLimit()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void PxController::setSlopeLimit </td>
          <td>(</td>
          <td class="paramtype">PxF32&#160;</td>
          <td class="paramname"><em>slopeLimit</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the slope limit. </p>
<dl class="section note"><dt>Note</dt><dd>This feature can not be enabled at runtime, i.e. if the slope limit is zero when creating the CCT (which disables the feature) then changing the slope limit at runtime will not have any effect, and the call will be ignored.</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">slopeLimit</td><td>The slope limit for the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxControllerDesc.html#aadb1325a040c61b6cd29cfa94d24c180" title="The maximum slope which the character can walk up. ">PxControllerDesc.slopeLimit</a> </dd></dl>

</div>
</div>
<a id="a6cad9ee5c32ccbf80ec47465a07dcdc3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6cad9ee5c32ccbf80ec47465a07dcdc3">&#9670;&nbsp;</a></span>setStepOffset()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void PxController::setStepOffset </td>
          <td>(</td>
          <td class="paramtype">const PxF32&#160;</td>
          <td class="paramname"><em>offset</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>The step height. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">offset</td><td>The new step offset for the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxControllerDesc.html#a51fe254a4807b832b2d34e884d856438" title="Defines the maximum height of an obstacle which the character can climb. ">PxControllerDesc.stepOffset</a> </dd></dl>

</div>
</div>
<a id="a3393ba5043c3534712d8f362a9872cfc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3393ba5043c3534712d8f362a9872cfc">&#9670;&nbsp;</a></span>setUpDirection()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void PxController::setUpDirection </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classPxVec3.html">PxVec3</a> &amp;&#160;</td>
          <td class="paramname"><em>up</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the 'up' direction. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">up</td><td>The up direction for the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxControllerDesc.html#af1a0990b26249f3114c41e20a9cb3087" title="Specifies the &#39;up&#39; direction. ">PxControllerDesc.upDirection</a> </dd></dl>

</div>
</div>
<a id="a2b6c1841bafa53877baa3dca8543c9ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b6c1841bafa53877baa3dca8543c9ca">&#9670;&nbsp;</a></span>setUserData()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">virtual void PxController::setUserData </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>userData</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">pure virtual</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets the user data associated with this controller. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">userData</td><td>The user pointer associated with the controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classPxControllerDesc.html#ab1144ac32fd0a4173e8d3136ae3e604f" title="User specified data associated with the controller. ">PxControllerDesc.userData</a> </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="PxController_8h_source.html">PxController.h</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- HTML footer for doxygen 1.8.14-->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classPxController.html">PxController</a></li>
    <li class="footer">Copyright &copy; 2008-2021 NVIDIA Corporation, 2788 San Tomas Expressway, Santa Clara, CA 95051 U.S.A. All rights reserved. <a href="http://www.nvidia.com ">www.nvidia.com</a></li>
  </ul>
</div>
</body>
</html>
